package com.cyj.dream.core.util.codec;

import cn.hutool.core.codec.Base64;
import cn.hutool.core.lang.Console;

/**
 * @Description: hutool工具封装的base64加解码
 * @BelongsProject: DreamChardonnay
 * @BelongsPackage: com.cyj.dream.core.util.codec
 * @Author: ChenYongJia
 * @CreateTime: 2021-09-26 13:32
 * @Email: chen87647213@163.com
 * @Version: 1.0
 */
public class Base64HuUtils {

    /**
     * Base64编码是用64（2的6次方）个ASCII字符来表示256（2的8次方）个ASCII字符，
     * 也就是三位二进制数组经过编码后变为四位的ASCII字符显示，长度比原来增加1/3。
     * Base64 加密字符串
     *
     * @param str
     * @return
     */
    public static String enCode(String str) {
        return Base64.encode(str);
    }

    /**
     * Base64 解密字符串
     *
     * @param str
     * @return
     */
    public static String deCodeStr(String str) {
        return Base64.decodeStr(str);
    }

    /**
     * 模拟调用 hutool 封装的 Base64HuUtils 工具类
     *
     * @param args
     */
    public static void main(String[] args) {
        String a = "伦家是一个非常长的字符串";
        //5Lym5a625piv5LiA5Liq6Z2e5bi46ZW/55qE5a2X56ym5Liy
        Console.log(Base64HuUtils.enCode(a));

        // 还原为a
        Console.log(Base64HuUtils.deCodeStr(Base64HuUtils.enCode(a)));

    }

}
